/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sistemadecompras.negocio;

import java.sql.SQLException;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import sistemadecompras.datos.BaseDeDatosDB;

public class Cliente {

    private String cedula;
    private String nombre;
    private String apellido;
    private String telefono;
    private int id_dir;
    private int num_facturas;
    private int id_ciudad;

    public String getCedula() {
        return cedula;
    }

    public String getNombre() {
        return nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public int getId_dir() {
        return id_dir;
    }

    public void setId_dir(int id_dir) {
        this.id_dir = id_dir;
    }

    public int getNum_facturas() {
        return num_facturas;
    }

    public void setNum_facturas(int num_facturas) {
        this.num_facturas = num_facturas;
    }

    public int getId_ciudad() {
        return id_ciudad;
    }

    public void setId_ciudad(int id_ciudad) {
        this.id_ciudad = id_ciudad;
    }

    public void setCedula(String c) {
        cedula = c;
    }

    public void setNombre(String n) {
        nombre = n;
    }

    public void setApellido(String a) {
        apellido = a;
    }

    public boolean grabar() {
        try {
            BaseDeDatosDB clienteDB = new BaseDeDatosDB();
            clienteDB.grabarCliente(this);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }

    public boolean modificar() {
        try {
            BaseDeDatosDB clienteDB = new BaseDeDatosDB();
            clienteDB.modificarCliente(this);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }

    public boolean eliminar(String cedu) {
        try {
            BaseDeDatosDB clienteDB = new BaseDeDatosDB();
            clienteDB.eliminarCliente(cedu);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }

    public boolean buscar() {
        try {
            Cliente aux;
            BaseDeDatosDB clienteDB = new BaseDeDatosDB();
            aux = clienteDB.buscarCliente(this.cedula);
            setNombre(aux.getNombre());
            setApellido(aux.getApellido());
            setTelefono(aux.getTelefono());
            setId_dir(aux.getId_dir());
            setId_ciudad(aux.getId_ciudad());
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
}
